﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace DHQGHN.PM2.Models
{
    public class DonViModel
    {
        public int DonViId { get; set; }        
        [Required(ErrorMessage="Chưa nhập tên đơn vị")]
        [Display(Name="Tên Đơn vị")]
        public string TenDonVi { get; set; }
        [Required(ErrorMessage = "Chưa nhập nhóm đơn vị")]
        public int? NhomDonViId { get; set; }
        [Required(ErrorMessage="Chưa nhập nhóm đơn vị")]
        public string TenNhomDonVi { get; set; }
        [Display(Name = "Mã đơn vị")]
        [Required(ErrorMessage = "Chưa nhập mã đơn vị")]
        public string MaDonVi { get; set; }
        [Display(Name = "Tên viết tắt")]
        [Required(ErrorMessage = "Chưa nhập tên viết tắt")]
        public string TenVietTat { get; set; }
        public bool CoQuyenGiamSat { get; set; }
        public int IntCoQuyenGiamSat { get; set; }
        [Display(Name = "Ghi chú")]
        [StringLength(255, ErrorMessage = "Độ dài nhiều nhất 255 ký tự")]
        public string GhiChu { get; set; }
        public int RecordCount { get; set; }

        //danh sach nhom don vi lay tu bang mapping DONVI_NHOMDONVI
        public List<NhomDonViModel> listNhomDonVi { get; set; }

        public List<DHQGHN.DAL.Models.Admin.GroupModel> listGroups { get; set; }

        public int Deleted { get; set; }

        public DonViModel()
        {
            DonViId = 0;
            TenDonVi = string.Empty;
            NhomDonViId = 0;
            MaDonVi = string.Empty;
            TenVietTat = string.Empty;
            CoQuyenGiamSat = false;
            GhiChu = string.Empty;
        }

        public DonViModel(DAL.Models.DHQG.DonVi model)
        {
            DonViId = model.DonViId;
            TenDonVi = model.TenDonVi;
            NhomDonViId = model.NhomDonViId;
            TenNhomDonVi = model.TenNhomDonVi;
            MaDonVi = model.MaDonVi;
            TenVietTat = model.TenVietTat;
            CoQuyenGiamSat = model.CoQuyenGiamSat;
            IntCoQuyenGiamSat = model.IntCoQuyenGiamSat;
            GhiChu = model.GhiChu;
            RecordCount = model.RecordCount;
        }

        public DAL.Models.DHQG.DonVi ToDALModel()
        {
            DAL.Models.DHQG.DonVi model = new DAL.Models.DHQG.DonVi();

            model.DonViId = this.DonViId;
            model.TenDonVi = this.TenDonVi;
            model.NhomDonViId = this.NhomDonViId;
            model.TenNhomDonVi = this.TenNhomDonVi;
            model.MaDonVi = this.MaDonVi;
            model.TenVietTat = this.TenVietTat;
            model.CoQuyenGiamSat = this.CoQuyenGiamSat;
            model.IntCoQuyenGiamSat = this.IntCoQuyenGiamSat;
            model.GhiChu = this.GhiChu;
            
            return model;
        }

    }
}